package com.xiyang.boot.controller;

import com.xiyang.boot.JavafxSpringboot4Application;
import com.xiyang.boot.handler.DragWindowHandler;
import com.xiyang.boot.view.LoginView;
import de.felixroske.jfxsupport.FXMLController;
import de.felixroske.jfxsupport.GUIState;
import javafx.fxml.Initializable;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

import java.net.URL;
import java.util.ResourceBundle;

/**
 * 自定义窗口控制器
 * FXMLController 标记这个类为javaFX控制器类
 * @author xiyang.ycj
 * @since Sep 26, 2019 15:31:31 PM
 */
@FXMLController
public class WindowController implements Initializable {


    private Stage primaryStage;
    /**
     * 自定义窗口
     */
    public VBox window;
    public Button backHome;
    public Button minWindow;
    public Button closeWindow;

    @Override
    public void initialize(URL location, ResourceBundle resources) {
        // primaryStage为start方法头中的Stage
        primaryStage = JavafxSpringboot4Application.getStage();
        DragWindowHandler handler = new DragWindowHandler(primaryStage);
        // 鼠标按下
        window.setOnMousePressed(handler);
        // 鼠标拖动
        window.setOnMouseDragged(handler);
        // 返回登陆页
        backHome.setOnAction(event -> {
            GUIState.getStage().close();
            JavafxSpringboot4Application.showView(LoginView.class);
        });
        // 最小化
        minWindow.setOnAction(event -> primaryStage.setIconified(true));
        // 关闭程序
        closeWindow.setOnAction((event)->System.exit(0));
    }
}
